#ifndef MAINWINDOW_H
#define MAINWINDOW_H
/*!
 * \file mainwindow.h
 * \brief
 * \version 1.0
 */
#include <QMainWindow>
#include <QPushButton>
#include <QMenuBar>
#include <QToolBar>
#include <QScrollBar>
#include <video.h>
#include <timertest.h>
#include <config.h>
/**
 * \brief Fenetre principale de Heaum
 * \version 1.0
 * Fenetre principale de l'application, elle seule est initialement affichee
 */
class MainWindow : public QMainWindow
{
    Q_OBJECT
    
private:

    QMenu *menuFichier;
    QAction *actionQuitter;

    QWidget *centerWidget;
    QHBoxLayout *layoutMain;
    QHBoxLayout *layoutBot;
    QBoxLayout *layoutVideo;

    QHBoxLayout *infoZone;
    QTextEdit *console;
    QVBoxLayout *timeDisplay;
    TimerTest *timer;

    Video *videoDisplay;

    Config *config;
    bool openConfig;

    QVBoxLayout *butZone;
    QPushButton *butStart;
    QPushButton *butVideo;
    QPushButton *butConfig;
    QPushButton *butStop;

public:
    /**
      * \fn MainWindow()
      * \brief Constructeur
      * Constructeur de la classe MainWindow
      */
    MainWindow();
    /**
      * \fn ~MainWindow()
      * \brief Destructeur
      * Destructeur de la classe MainWindow
      */
    ~MainWindow();

protected:
    void closeEvent(QCloseEvent *event);

signals:
    void testLaunched();
    void testStopped();
    void butVideoClicked();
    void closed();

private slots:
    void launchTest();
    void stopTest();
    void displayConfig();
    void closeConfig();
};

#endif // MAINWINDOW_H
